package br.com.gestacard.sync.entidade;

import javax.persistence.Column;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.MappedSuperclass;

import org.hibernate.annotations.ForeignKey;


@MappedSuperclass
public abstract class SubFormulario extends AppBaseEntity {

	
	private static final long serialVersionUID = 2400783875091039111L;

	
	@Id @GeneratedValue(strategy=GenerationType.AUTO, generator = "SE_SUB_FORMULARIO")
	@Column (name = "ID_SUB_FORMULARIO", nullable=false, length=5)
	private Long id;
	
	@ManyToOne (targetEntity = FormularioEntity.class, fetch = FetchType.LAZY)
	@ForeignKey(name="FK_SUBFORMULARIO_FORMULARIO")
	@JoinColumn (name = "ID_FORMULARIO", nullable=false)
	private Formulario formulario;
	
	@ManyToOne (targetEntity = CaptadorEntity.class, fetch = FetchType.LAZY)
	@ForeignKey(name="FK_SUBFORMULARIO_CAPTADOR")
	@JoinColumn (name = "ID_CAPTADOR", nullable=false)
	private Captador captador;
	
	@Column (name = "QTD_FICHA_CAPTADOR", nullable=false, length=5)
	private Long qtdFichaCaptador;
	
	

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id=id;
	}

	public Formulario getFormulario() {
		return formulario;
	}

	public void setFormulario(Formulario formulario) {
		this.formulario=formulario;
	}

	public Captador getCaptador() {
		return captador;
	}

	public void setCaptador(Captador captador) {
		this.captador=captador;
	}

	public Long getQtdFichaCaptador() {
		return qtdFichaCaptador;
	}

	public void setQtdFichaCaptador(Long qtdFichaCaptador) {
		this.qtdFichaCaptador=qtdFichaCaptador;
	}

}
